Many situations exist in which multiple users generate electronic files on a plurality of client computers that are connected to a network. The users frequently store their files locally on different storage locations only accessible via their local client computers. Locally stored files are generally not accessible to other users, causing duplication of work and other inefficiencies that could be avoided, if users were able to locate files on other user's devices.
Search engines such as Google, Yahoo, or Bing are known which crawl files from a plurality of clients, generate a central index, and allow the central index to be queried by clients. These search engines are based on having access to the locally stored files, which is not desirable in a business environment, where locally stored files may contain sensitive content, and where each user of a client computer may want to control which other clients can search through its locally stored or only locally accessible files.
It is generally known to provide methods and computer programs for searching files across multiple clients. Examples of such methods and systems are described in the U.S. Pat. Nos. 8,219,544 and 8,612,439, which are hereby incorporated herein by reference in their entireties.
The use of encryption methods in distributed data sharing systems is generally known. Examples of utilizing encryption in distributed data sharing systems are described in the U.S. Pat. Pub. 2010/0185852 and U.S. Pat. No. 9,015,281, which are hereby incorporated herein by reference in their entireties.